package com.matinzac.service;


import com.matinzac.entity.PayOrder;

import javax.servlet.http.HttpServletRequest;
import java.util.Map;

/**
 * <p>Description: 微信支付相关接口</p>
 *
 * @author MtinZac
 * create on 2021/11/26 上午10:40
 */
public interface WxPayService {
    /**
     * 获取商户证书编号
     *
     * @return 商户证书编号
     */
    String getMchSerialNo();

    /**
     * 通过code 获取 oppenId 接口
     *
     * @return
     */
    String getOpenId(String code);

    /**
     * 通过oppenId 以及支付相关信息进行请求支付参数返回
     *
     * @param openid      客户端ID
     * @param time_expire 订单过期时间
     * @param order       订单信息
     * @return
     */
    Map<String, Object> getPayInfo(String openid, String time_expire, PayOrder order);

    /**
     * 支付成功回调接口
     *
     * @param body    微信支付返回参数信息
     * @param request 请求体
     * @return 解析返回参数进行反馈
     */
    Map<String, Object> callBack(Map body, HttpServletRequest request);
}
